package com.zqh.forum.utils;

import org.apache.commons.codec.digest.DigestUtils;

/**
 * 进行加密的类
 */
public class MD5Util {

    /**
     * 对一个简单的字符串进行加密
     * @param str 原始字符串
     * @return 进行MD5加密的字符串
     */
    public static String md5_String(String str){
         return DigestUtils.md5Hex(str);
    }

    /**
     * 原始字符串与key结合进行加密的字符串
     * @param str 原始字符串
     * @param key 其他的字符串
     * @return 进行一次MD5加密的字符串
     */
    public static String md5_key(String str,String key){
        return DigestUtils.md5Hex(str + key);
    }

    /**
     * 对输入的密码进行加密的操作
     * 步骤：
     * 1.将原始的密码进行MD5加密
     * 2.将第一次加密的密文后面连接上随机生成的盐值
     * 3.将生成的盐值再次进行MD5加密
     * @param str 原始密码
     * @param value 盐值（搅动字符串）
     * @return
     */
    public static String md5_salt(String str,String value){
        return md5_String(md5_String(str) + value);
    }

}
